home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / shell / tsbgex / src / fish / draw16.asm < prev    next >
Encoding:
Assembly Source File  |  1994-11-16  |  717 b   |  46 lines

  1.     assume    cs:draw16
  2. draw16    segment para public 'CODE'
  3.     public    _draw16
  4.  
  5. _draw16    proc    near
  6.     push    ebp
  7.     push    ebx
  8.     push    ecx
  9.     push    edx
  10.     push    esi
  11.     push    edi
  12.     mov    edi,28[esp]    ; edi <-- work
  13.     mov    edx,32[esp]
  14.     add    edx,edx
  15.     mov    esi,36[esp]    ; esi <-- raster
  16.     mov    ebx,44[esp]    ; ebx <-- color
  17.     mov    ebp,52[esp]    ; ebp <-- height
  18. #0:
  19.     mov    ecx,48[esp]    ; ecx <-- width
  20. #1:    
  21.     movzx    eax,byte ptr [esi]    ; eax <-- *pix++
  22.     inc    esi
  23.     and    eax,eax
  24.     je    SHORT #2
  25.     mov    ax,[ebx+eax*2]    ; ax <-- color[eax]
  26.     mov    [edi],ax    ; write
  27. #2:
  28.     add    edi,2
  29.     loop    #1
  30.  
  31.     add    esi,40[esp]    
  32.     add    edi,edx
  33.     dec    ebp        ; hight--
  34.     jnz    SHORT #0
  35.     pop    edi
  36.     pop    esi
  37.     pop    edx
  38.     pop    ecx
  39.     pop    ebx
  40.     pop    ebp
  41.     ret
  42. _draw16    endp
  43.  
  44. draw16    ends
  45.     end
  46.